Three-dimensional (3d) representations of objects are used in many different fields. For instance, 3d representations of objects are used to design parts and for performing analytical applications such as safety testing, vibration analysis, and computational fluid dynamics analysis. 3d representations of an object are typically comprised of millions or tens of millions of triangles, where each triangle can be represented by 3 vertices, having three coordinates apiece. Each coordinate is typically represented by a floating point decimal, which is typically represented by 24 bits. Thus, a 3d representation of an object that is comprised of 10,000,000 triangles can take up to 2 GB to represent. In applications that require complex computations to analyze the motion of the object, the computational resources that are required to handle a 2 GB 3d representation of an object are great. For example, a complex vibration analysis performed on a 3d representation of an engine may take up to 70 hours to execute on multiple processors. Thus, there is a need for an efficient manner to represent a 3d representation of an object.
Further, in the supply chain environment, it is common place for a product manufacturer to outsource the production of ancillary components, e.g., widgets such as hoses, screws, and clips, to a third party. The manufacturer will typically send a CAD design of an object to a third party, so that the third party can design an ancillary component therefor. The design of the primary component, however, may contain representations of internal components that are not meant for the third party's viewing. By providing a full CAD design of the primary product to the third party, the third party can inspect the internal components of the primary product. Thus, there is a need for an efficient manner for rendering an outer layer of a 3d representation of an object.